/*
*所有关于tb_project_expensebaseinfo类的业务代码接口应在此处编写
*/
using MYData.Core.BaseProvider;
using MYData.Entity.DomainModels;
using MYData.Core.Utilities;
using System.Linq.Expressions;
using System.Threading.Tasks;
using MYData.Entity.DTO.ApiEntity.Input;
using System.Threading.Tasks;

namespace MYData.System.IServices
{
    public partial interface Itb_project_expensebaseinfoService
    {
        /// 添加项目报销信息
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        WebResponseContent InsertBudgetInfo(BudgetBaseInfoInput_Dto inputDto);

        /// <summary>
        /// 删除项目经费报销信息(逻辑删除)
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<WebResponseContent> SoftDeleteExpenseInfoAsync(string ExpenseId);

        /// <summary>
        /// 删除项目经费报销信息(物理删除)
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<WebResponseContent> DeleteExpenseInfoAsync(string Id);

        /// <summary>
        /// 修改项目经费报销
        /// </summary>
        /// <returns></returns>
        Task<WebResponseContent> UpdateeExpenseInfoAsync(UpdateExpenseInfoDto inputDto);
        Task<WebResponseContent> GetExpensesReimbursement(BillingAllocationSearch_Dto Search);
        Task<WebResponseContent> GetAccountReimbursement(string ProjectId);
        /// <summary>
        /// 报销审批列表
        /// </summary>
        /// <returns></returns>
        WebResponseContent expensebaseinfoList();

        /// <summary>
        /// 根据报销Id获取报销详细信息
        /// </summary>
        /// <param name="applyId"></param>
        /// <returns></returns>
        Task<WebResponseContent> GetApplyList(string applyId);


    }
 }
